package com.jinmei.service;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

import org.apache.commons.collections.map.MultiValueMap;
import org.springframework.dao.DataAccessException;

import com.jinmei.model.WorkSchedule;

public interface WorkScheduleService {

	public List<WorkSchedule> getWorkSchedulesByDate(String startDate, String endDate) throws DataAccessException, ParseException;
	
	public List<WorkSchedule> getWorkSchedulesByDate(Date date) throws DataAccessException, ParseException;
	
	public List<WorkSchedule> getWorkSchedulesByDateAndType(String workingDate, String workingType) throws DataAccessException, ParseException;

	public void saveOrUpdate(List<WorkSchedule> entities) throws DataAccessException;
	
	public void delete(List<WorkSchedule> entities) throws DataAccessException;
	
	public void updateWorkSchedules(List<WorkSchedule> oldWSByDate, 
			List<WorkSchedule> newWSByDate) throws DataAccessException;
	
	public void sendNotification(Date workDate, 
			MultiValueMap oldMultiWSMapByEmployeeId, 
			MultiValueMap newMultiWSMapByEmployeeId) throws DataAccessException;
}
